package org.dromara.pe.domain.bo;

import org.dromara.pe.domain.SportScore;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import org.dromara.pe.domain.vo.ScoreDto;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 体测成绩管理业务对象 phy_pe_sport_score
 *
 * @author Lion Li
 * @date 2024-11-28
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = SportScore.class, reverseConvertGenerate = false)
public class SportScoreBo extends BaseEntity {

    /**
     * 逻辑主键
     */
    @NotNull(message = "逻辑主键不能为空", groups = { EditGroup.class })
    private Long sportScoreId;

    /**
     * 体测任务id
     */
    private Long taskId;

    /**
     * 学号
     */
    private String stuNum;

    /**
     * 总成绩
     */
    private String totalScore;

    /**
     * 年级
     */
    private String grade;

    /**
     * 学年
     */
    private String academicYear;

    /**
     * 学期
     */
    private String semester;

    /**
     * 班级id
     */
    private Long classId;

    /**
     * 体测成绩
     */
    private String sportScore;

    /**
     * 排班id
     */
    private Long arrangeId;

    private List<ScoreDto> sportScoreDtoList;

    private List<String> sportIds;

    /**
     * 运动成员ID
     */
    private String uid;

    /**
     * 运动项目ID
     */

    private String sportId;

    /**
     * 运动项目名称
     */

    private String sportName;

    /**
     * 计算得分成绩
     */
    private Long score;

    /**
     * 成绩类型（0-设备 1-手动）
     */

    private Long type;

    /**
     * 训练站设备唯一代码
     */

    private String stationSn;

    /**
     * 得分等级
     */

    private String level;

    /**
     * 成绩结算日期
     */

//    private Date completedTime;

    /**
     * 名字
     */

    private String studentName;

    /**
     * 学年
     */

    private String stuYear;

    /**
     * 成绩类型（0-锻炼 1-体测）
     */

    private Long scoreType;

    private String orderByColumn;

    private String isAsc;

    private List<Long> scoreTypes;


    private Date completedTime;

    private Long deptId;

    /**
     * 有无成绩标记
     */
    private Long flag;

    private String gender;



}
